home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* Family Doctor Toolbook Setup '************************************************************************** '$DEFINE DEBUG ''Define for script development/debugging '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' ''Dialog ID's CONST WELCOME = 100 CONST ASKQUIT = 200 CONST DESTPATH = 300 CONST EXITFAILURE = 400 CONST EXITQUIT = 600 CONST EXITSUCCESS = 700 CONST APPHELP = 900 CONST NOVGA = 1200 CONST NOMOUSE = 1300 CONST INSTTBOOK = 1400 CONST DESTPATH2 = 1500 CONST APPHELP2 = 1600 CONST APPHELP3 = 1700 CONST APPHELP4 = 1800 CONST CHECK = 2500 CONST TOOBIG = 6300 CONST BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL OPTCUR$ ''Option selection from option dialog. GLOBAL CHECKIN$ GLOBAL CHECKOUT$ GLOBAL DEST2$ GLOBAL FD_Flag16$ GLOBAL FD_Flag256$ GLOBAL DP_Flag$ GLOBAL TBookFlag$ GLOBAL WINDOWS$ GLOBAL WSYSTEM$ DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure '' SetBitmap CUIDLL$, LOGO SetTitle "The Family Doctor Install" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "FAMDOC.INF" END IF ReadInfFile szInf$ OPTCUR$ = "1" DEST$ = "C:\DISCPASS" DEST2$ = "C:\DISCPASS" CHECKIN$ = "CheckItemsIn" CHECKOUT$ = "CheckItemsOut" WINDOWS$ = GetWindowsDir() WSYSTEM$ = GetWindowsSysDir() WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF IF HasMonochromeDisplay() THEN '' must have COLOR Display of VGA or Better sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$) UIPop 1 GOTO QUIT END IF IF GetScreenHeight() < 480 THEN '' Must have VGA or Better display sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$) UIPop 1 GOTO QUIT END IF IF GetScreenWidth() < 640 THEN '' Must have VGA or Better Display sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$) UIPop 1 GOTO QUIT END IF '' IF HasMouseInstalled() = 0 THEN '' '' Must have Mouse Installed '' sz$ = UIStartDlg(CUIDLL$, NOMOUSE, "FInfoDlgProc", APPHELP, HELPPROC$) '' UIPop 1 '' GOTO QUIT '' END IF OPTION: CHECKIN$ = "CheckItemsIn" '' SetSymbolValue "CheckDefault", OPTCUR$ SetSymbolValue "CheckItemsIn", CHECKIN$ SetSymbolValue "OptionsGreyed", OPTGREY$ SetSymbolValue "CheckItemsOut", CHECKOUT$ FOR I% = 1 TO 3 STEP 1 AddListItem CHECKIN$, "ON" NEXT I% ReplaceListItem CHECKIN$, 1, "ON" OPTL1: sz$ = UIStartDlg(CUIDLL$, CHECK, "FCheckDlgProc", APPHELP4, HELPPROC$) CHECKOUT$ = GetSymbolValue("CheckItemsOut") IF sz$ = "CONTINUE" THEN UIPop(1) ELSE GOSUB ASKQUIT GOTO OPTION END IF FD_Flag16$ = GetListItem("CheckItemsOut", 1) FD_Flag256$ = GetListItem("CheckItemsOut", 2) DP_Flag$ = GetListItem("CheckItemsOut", 3) IF ((FD_Flag16$ = "ON") OR (FD_Flag256$ = "ON")) THEN TBOOK1: TBookFlag$ = UIStartDlg(CUIDLL$, INSTTBOOK, "FInfoDlgProc", APPHELP, HELPPROC$) '' i% = DoMsgBox(TBookFlag$ , MB_OK+MB_TASKMODAL+MB_ICONHAND) UIPop 1 END IF '' DO THIS IF INSTALLING DP AND/OR INSTALLING RUNTIME FILES IF TBookFlag$ = "CONTINUE" THEN GETPATH2: SetSymbolValue "EditTextIn", DEST2$ SetSymbolValue "EditFocus", "END" GETPATHL2: sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP3, HELPPROC$) DEST2$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL2 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL2 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO OPTL1 ELSE GOSUB ASKQUIT GOTO GETPATH END IF END IF IF DP_Flag$ = "ON" THEN GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP2, HELPPROC$) DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATH2 ELSE GOSUB ASKQUIT GOTO GETPATH END IF END IF Install QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN dlg% = EXITSUCCESS ELSEIF ERR = STFQUIT THEN dlg% = EXITQUIT ELSE dlg% = EXITFAILURE END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, call CMC at 1-503-241-4351!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) END BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") IF ((DEST$ <> "") AND (FD_FLAG$ = "ON")) THEN CreateDir DEST$, cmoNone END IF IF ((DEST2$ <> "") AND (TBookFlag = "CONTINUE")) THEN CreateDir DEST2$, cmonone END IF IF DP_FLAG$ = "ON" THEN SetRestartDir DEST$ ELSE IF TBookFlag$ = "CONTINUE" THEN SetRestartDir DEST2$ END IF END IF ''OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0 ''WriteToLogFile "" ''WriteToLogFile " User chose as destination directory: '" + DEST$ + "'" ''WriteToLogFile " User chose option: '" + OPTCUR$ + "'" ''WriteToLogFile "" ''WriteToLogFile "May have had to create the directory: " + DEST$ ''WriteToLogFile "" '' build ini file CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "initialPosition", "33,65", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "numberOfBitmaps", "9", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "invert", "1",cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap0", "0,0;81;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap1", "0,1;101;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap2", "0,2;85;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap3", "0,3;103;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap4", "0,4;100;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap5", "0,5;102;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap6", "0,6;104;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap7", "0,7;2732;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8.bmp", cmoOverwrite CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap8", "0,8;29;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9.bmp", cmoOverwrite '' This is the second set of options for the ini file '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "initialPosition", "33,65", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "numberOfBitmaps", "9", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "invert", "0",cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap0", "0,0;81;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap1", "0,1;101;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap2", "0,2;85;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap3", "0,3;103;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap4", "0,4;100;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap5", "0,5;102;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap6", "0,6;104;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap7", "0,7;2732;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8i.bmp;", cmoOverwrite '' CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap8", "0,8;29;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9i.bmp;", cmoOverwrite ClearCopyList IF DP_Flag$ = "ON" THEN AddSectionFilesToCopyList "DPSG",GetSymbolValue("STF_SRCDIR") + "dpsg\", DEST$ AddSectionFilesToCopyList "DPSG1",GetSymbolValue("STF_SRCDIR") + "dpsg\", WINDOWS$ '' CopyFilesInCopyList '' ClearCopyList END IF IF TBookFlag$ = "CONTINUE" THEN AddSectionFilesToCopyList "TBOOK",GetSymbolValue("STF_SRCDIR") + "tbook\", DEST2$ '' AddSectionFilesToCopyList "TBOOK1", GetSymbolValue("STF_SRCDIR") + "tbook\", WINDOWS$ AddSectionFilesToCopyList "FONTS", GetSymbolValue("STF_SRCDIR") + "tbook\", WSYSTEM$ '' CopyFilesInCopyList '' ClearCopyList END IF '' Need to write to .INI file for FAMDOC. IF TBookFlag$ = "CONTINUE" THEN CreateIniKeyValue GetWindowsDir() + "FAMDOC.INI", "INIT", "Location", MakePath(DEST2$,"TBOOK\"), cmoOverwrite ELSE CreateIniKeyValue GetWindowsDir() + "FAMDOC.INI", "INIT", "Location", MakePath(GetSymbolValue("STF_SRCDIR"),"TBOOK\"),cmoOverwrite DEST2$ = MakePath(GetSymbolValue("STF_SRCDIR"), "tbook\") END IF CopyFilesInCopyList IF ((FD_Flag16$ = "ON") OR (FD_Flag256$ = "ON") OR (DP_Flag$ = "ON")) THEN CreateProgmanGroup "CMC", "", cmoNone ShowProgmanGroup "CMC", 1, cmoNone END IF IF FD_Flag16$ = "ON" THEN CreateProgmanItem "CMC", "The Family Doctor 16 Color", MakePath(DEST2$,"tbook.exe")+" "+MakePath(GetSymbolValue("STF_SRCDIR"),"tbook\fd16.tbk"), MakePath(DEST2$,"MD.ICO"), cmoOverwrite END IF IF FD_FLAG256$ = "ON" THEN CreateProgmanItem "CMC", "The Family Doctor 256 Color", MakePath(DEST2$,"tbook.exe")+" "+MakePath(GetSymbolValue("STF_SRCDIR"),"tbook\fd256.tbk"), MakePath(DEST2$,"MD.ICO"), cmoOverwrite END IF IF DP_Flag$ = "ON" THEN CreateProgmanItem "CMC", "DiscPassage for DOS",MakePath(DEST$,"DPSG.EXE"), MakePath(WINDOWS$,"DP.ICO"), cmoOverwrite END IF CloseLogFile END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION